iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0

在踏入工程師的領域之後,隨著需要開發的軟體越來越多,就會需要在自己的電腦上裝上各式各樣的環境來符合每套專案,有些專案需要node 22+nginx才能使用,有些是java+postgres,而這些設定會讓每次要開發前,都需要花上大量的時間來進行環境設定,更不用說有些專案不會好好的將自己需要的環境寫在Readme裡面,就會導致拿到一個專案,卻不曉得應該怎麼啟動他

這時候,使用docker這項服務就可以快速的排解這些相依環境或是服務的問題了

Docker 是什麼

他是一個更輕量的VM的服務,會與宿主共用CPU/Ram,並且管理每個服務的Network以及disk的需求,而這些VM需要的資源跟執行的指令會預先被使用者用描述檔(Dockerfile)所定義

而當使用者需要啟用這個服務,會先透過這個描述檔,產生出相對應的image,並且可以在有需要的時候開啟一個服務,來運行這個image,執行後的內容被稱為 container

所以整個流程可以被簡化成下面這個流程

Dockerfile ==Build==> Image ==Run==> Container

所以回到一開始的使用情境,當我們需要postgreSQL,我們就可以去找到Postgres的Dockerfile,然後在自己的電腦Build這個Dockefile並且運行他,如此一來你就可以有一個標準的Postges了

而當你不需要使用時,只要把這個Container砍掉,就可以簡單的將資源清乾淨,讓每台電腦的資源可以被更有效的運用

而從上方的流程中可以發現到,其實Image也是一個實體的檔案,所以如果我們可以把Image複製到另一台電腦上,就算沒有Dockerfile,也可以順利的啟動Container,流程上會變成

Image Registry ==Download==> PC ==Run==> Container

而這個流程,通常也是我們一般來說更常見的使用方式,舉個上方需要postgreSQL的內容

docker run --name my-postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres:16

這段內容表示


上一篇
Day08-讓AI來幫你產script
系列文
開發環境設定指南及工具分享9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言